Targeting users based on persona data

ABSTRACT

A method of targeted advertisement distribution based on persona data derived from a social network, wherein the social network includes a plurality of content streams, each content stream associated with a user and a user summary. The method includes the steps of receiving an advertisement request from a third party environment with associated content, identifying a content stream that includes a reference to the third party content, identifying a persona based on the user associated with the identified content stream, and serving an advertisement to the third party environment based on the identified persona.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 14/253,070, filed 15 Apr. 2014, which is a continuation of U.S. patent application Ser. No. 13/113,905, filed 23 May 2011, which claims the benefit of U.S. Provisional Application No. 61/347,787 filed 24 May 2010, both of which are incorporated in their entirety by this reference.

TECHNICAL FIELD

This invention relates generally to the social network field, and more specifically to a new and useful method and system for targeting users based on persona data in the social network field.

BACKGROUND

Social networks have become an integral part of the internet ecosystem in recent years. The social web has more recently begun to branch out of social network domains and has begun integrating with other websites. For example, commenting and discussions on many websites can now be carried out using social network identities. However, much of the rich information that a user customizes within a social network (e.g., through establishing connections with friends and entities) is lost when accessing a third party site. Thus, there is a need in the social network field to create a new and useful method and system for targeting users based on persona data. This invention provides such a new and useful method and system.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a schematic representation of a method of a preferred embodiment of the invention.

FIGS. 2A and 2B are exemplary representations of detecting a user accessing a third party environment.

FIG. 3 is a schematic representation of an embodiment of detecting implicit references to the content of a third party environment.

FIG. 4 is a schematic representation of an embodiment of detecting explicit references to the content of a third party environment.

FIG. 5 is a schematic representation of a system of a preferred embodiment of the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following description of the preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather to enable any person skilled in the art to make and use this invention.

1. Method for Targeting Users Based on Persona Data

As shown in FIG. 1, a method for targeting users based on persona data of a preferred embodiment includes detecting a social network entity associated with a third party environment S120, identifying a user summary for the social network entity S140, generating a persona from the identified user summary S160, and serving persona targeted content to the third party environment S180. The method functions to use the vast amount of personal information available on social networking sites for generating content relevant to users of third party websites or applications. The system further functions to use a persona abstraction layer which functions to generalize a user for more general targeting of content. The persona abstraction may additionally be used to prevent third parties from having direct access to private data and/or highly detailed information available on a social network such as Facebook or Google Buzz. The method is preferably used for serving persona targeted advertisements, and is preferably performed in response to the receipt of an advertisement request from the third party environment. However, the method may alternatively be used for customizing the content for a user, such as by promoting articles more relevant to a user. The third party environment is preferably a third party website (e.g. with a different domain than the social network), but may alternatively be an internet connected application such as a mobile or desktop application. The method may be used for delivering content that is highly specialized for the user viewing the outside website, but may alternatively utilize information from the content of the webpage and/or the social network to make assumptions of the characteristics of the user viewing the outside website.

This method is preferably utilized with a persona database, which is preferably a programmatic abstraction of user interests and traits associated with an entity of the social network. A persona database is preferably created to store user-persona information, but may alternatively be dynamically created. A persona is preferably generated for a plurality of users, and more preferably for a substantial portion of a social network, but may alternately be generated for a single user. The personas are preferably generated from a plurality of user summaries, wherein the user summaries are preferably generated from the content of a social network, such as user-associated user profiles, content streams, social connections, social network behavior, and/or any suitable aspect of a social network. The persona data may alternatively be generated or cooperatively used by another system for any suitable purpose. For example, an advertising system for the social network may generate a persona database containing user summaries for a plurality of users. The forming of a user summary is preferably composed of at least one of the sub-steps: extracting keywords from a user profile, extracting keywords from referenced sources (such as links, media files or embedded applications), extracting keywords from the content stream (e.g. both user generated and from subscribed feeds), analyzing social network connections, analyzing location information, determining social network tools of the user, and/or any suitable technique. In creating a user summary, the above sub-steps and any suitable alternative steps may be used in any suitable combination. A user summary is preferably composed of a plurality of vector parameters (e.g. attributes) that cooperatively define characteristics of a user. Vectors are preferably different metrics of specifying aspects of user characteristics. Preferably, the vectors include keywords, location, influence (i.e., number of followers or friends), mentions (i.e., the number of times the person is discussed by others), demographic, and/or any suitable descriptor of a persona. A vector parameter is preferably the variable value for a particular vector. For example, a location vector may have a parameter of ‘San Francisco’ and a keyword vector may have a parameter of ‘baseball’. Keywords may additionally be weighted based on strength of an association with a user. The weighting of keywords is preferably applied to keywords based on the amount of presence the keywords have in the user profile. This is preferably based on frequency of the keyword, predefined weighting factors for terms, statistical improbability (similar to the statistically improbable phrases used by the Amazon search engine), or any suitable metrics of the importance of a keyword when describing a user. Additionally, the user summary is updated periodically. Future analysis of a user preferably enhances the user summary by adding keyword data, but may alternatively entirely refresh the user summary, effectively creating a new user summary from the most recent information. Depending on the implementation of the method, a persona may alternatively be generated on-demand such as during Step S160, generating a persona from the identified user summary. For example, the system may use one of two separate methods for building a user profile; one that can be executed with no prior knowledge of the user and therefore responds rapidly, and one that performs an analysis over a much larger data set and tracks changes over time, and therefore operates in batch mode.

Step S120, which includes detecting an association between a social network entity and a third party environment, functions to identify an association between an outside webpage, content, or application and at least one entity of a social network. An entity of the social network is preferably a user, but may alternatively be a company, a channel (that users can preferably subscribe to), or any suitable element of a social network. Step S120 preferably includes performing at least one of the following sub-steps: detecting a user accessing the third party environment S122, and detecting a reference to the third party content within the social network S123, which includes detecting an implicit reference to the third party content S124 and/or detecting an explicit reference to the third party content S126. The detection of a social network entity may alternatively be performed in any suitable manner. The detection of a social network entity is preferably performed by a script executed outside the third party environment, but may alternately be performed by a script executed within the third party environment. The script may alternatively be an implementation of an application programming interface (API) of the social network, a javascript routine, a server side executable routine such as a CRON job, and/or any suitable programmatic executable routine.

Step S122, which includes detecting a user accessing the third party environment, functions to use existing identification technology of a social network. A user may be detected accessing a third party environment in a number of ways. When a user visits a website by following a link from the social website the username may be embedded in the URI. As shown in FIG. 2A, a website may alternatively utilize any suitable identification system that allows users of a social network to log in to the third party website or application using the social network information such as Facebook Connect. Additionally a website or application may automatically detect a social network user. Additionally, many websites enable commenting and discussion to be conducted using a social network identity. The use of a social network identity for commenting is preferably detected and the associated identity recorded as shown in FIG. 2B.

Step S124, which includes detecting an implicit reference to the third party content, functions to recognize content streams and users that are indirectly associated with the third party content. This is preferably accomplished by performing the sub steps of detecting keyword mentions, more preferably high-interest keyword mentions, within the body of the third party content, and detecting entities associated with the detected keyword. Detected keywords are preferably usernames, but may alternately be a real name, a meme, or any other suitable keyword. A shown in FIG. 3, a preferred method of recognizing keywords is by conforming to a convention of detecting the at-symbol, “@”, as a call out to a social network user reference. For example, the inclusion of the text “@username” would indicate a reference to the social network user “username”. Alternately, hash tags (“#”), alphanumeric tagging, any other suitable convention, or no convention may alternatively be searched to find a high-interest keyword. Such references are preferably analyzed and identified by an embedded javascript that checks the content of a webpage or application for such references. However, these references may also be determined by scraping the content, analyzing images or video associated with the content, or any other suitable content analysis method. In addition to keywords, people, businesses, or other entity names may be detected and then an associated user is searched for inside a social network. This may be particularly useful for detecting companies or names contained in headlines, by-lines, or authorship fields within articles.

Detected entities are preferably those that have shown interest in content related to the third party content, as indicated by the user's profile, content stream feeds, and posts. More preferably, identified users are followers of a keyword, wherein a portion of the user's associated content stream is preferably generated from the keyword. Examples of identified users include followers of a username, entities who tag keywords (e.g. by using a “#,” or a tag) within their posts, keyword-generated feed recipients, or any other user that receives or generates content around a keyword.

Step S126, detecting an explicit reference to the third party content, functions to actively query a social network to identify direct references to the third party environment. As shown in FIG. 4, a content stream of a social network is preferably queried for recent or existing posts linking or directly referring to the third party content. A preferred form of querying for references is by searching for a universal resource identifier (URI) linking to the third party environment, preferably a webpage. The URI may be a link to the exact webpage a user is currently viewing, page of a website, or shortened version of the URI, or any suitable reference related to the webpage. The search may be implemented using a search engine provided by the social network, but may alternatively use outside sources providing search capabilities of a social network. Alternately, other references may be queried, such as a title of the third party content or an author's name. The users (i.e. entities) that posted the content are preferably identified. A server or any suitable device preferably runs such searches periodically. The search may alternatively be conducted at the time a user accesses the webpage or third party environment.

Step S140, which includes identifying a user summary for the social network entity, functions to retrieve user-related information associated with the detected social network entity or entities. In one variation, user summaries are preferably generated for each social network entity in the same manner as described above. In the situation where Step S122 detects the entity of the user presumably accessing the third party environment, the user summary of that entity is preferably used without modification. This functions to have a highly individualized characterization of the current user. In other situations, the method preferably creates abstractions of an assumed user of the third party environment. In the situation where Step S123 detects a reference to the third party content, the user summaries associated with the identifies entities are preferably used in Step 160 to generate a persona. Using the identified user summaries to generate the persona functions to assume that the third party environment user is better characterized by their peers (i.e. the identified users), than by the third party content.

Step 160, which includes generating a persona based on the user summary of the social network entity, functions to generalize a user for more general targeting of content, and may additionally function to prevent third parties from having direct access to private data and/or highly detailed information available on a social network. In many cases, a plurality of entities may be identified. In situations where the third party environment user is unknown, such as detecting a plurality of followers of a keyword in Step S124 or detecting a plurality of entities creating content in Step S126, the associated user summaries of the plurality of entities are preferably analyzed to identify at least one persona. The user summaries associated with the plurality of entities may be averaged, abstracted to find a statistically significant high-level abstraction of the entities, additively merged, or otherwise combined to form a new persona for a virtual follower of the entity. In one embodiment, similar vector parameters between the detected user summaries are identified and used to form the virtual persona. In a second embodiment, vector parameters of the detected user summaries are abstracted to a predefined level (e.g. a predefined rank, wherein the vector parameters are abstracted based on a relationship hierarchy) before similarities are found between the user summaries and a persona generated from the similarities. Alternately, a pre-determined persona may be used, particularly when the users of a certain population (e.g. followers of a keyword) are well characterized.

Step S180, which includes serving persona targeted content to the third party environment, functions to utilize the generated persona information to target the content delivered to third party environment and/or to personalize the experience of the third party environment. In one preferred embodiment, the delivering of persona targeted content preferably includes serving advertisements that correspond to the identified persona(s). Each advertisement preferably has an associated advertisement summary, comprising a list of keywords, attributes, or vector parameters that describe an audience targeted by the advertiser. The advertisement served is preferably selected based on the generated persona, more preferably based on how well the advertisement matches the persona. However, the advertisement may be selected in any suitable manner (e.g. based on advertisement priority). The advertisement is preferably matched to the persona based on a similarity score calculated between an advertisement summary and the persona, wherein the advertisement with the highest similarity score is selected. Alternately, an advertisement with a similarity score above a predetermined threshold may be deemed a match with the persona. In a second embodiment, the persona information is passed to the third party environment in a raw format or any suitable summary form, and the third party environment preferably customizes content in any suitable manner.

2. System for Targeting Users Based on Persona Data

As shown in FIG. 5, a system for targeting users based on persona data of a preferred embodiment includes a persona database 110, an entity detection routine 120, and a content delivering engine 130. The system functions to allow third party websites and applications to utilize rich data available in a social network for delivering relevant content to users of the website or application. The system further functions to use a persona abstraction layer which functions to generalize a user for more general targeting of content. The persona abstraction may additionally be used to prevent third parties from having direct access to private data and/or highly detailed information available on a social network such as Facebook or Google Buzz.

The persona database 110 functions as a repository of user characterization information. The persona database 110 preferably includes a user summary for each of a plurality of users. The persona database 110 may be actively updated database of a substantial number of users of a social network ecosystem or users of interest. Alternatively, the persona database 110 may be a sampling of users for estimating the audience. A user summary is preferably generated from a social network content stream of a user. A variety of aspects of a user account on a social network content stream are preferably analyzed to generate a user summary, including a user profile, posted content, metadata of posted content such as location, followed users, following users, and any suitable aspect of the user account. The user summary is preferably defined with various vector parameters. The vectors are preferably various metrics used to define the characteristics of a user. Preferably, the vectors include keywords, location, influence (i.e., number of followers or friends), mentions (i.e., the number of times the person is discussed by others), demographic, and/or any suitable descriptor of a persona. A vector parameter is preferably the variable value for a particular vector. The user summary may alternatively have any suitable structure. Furthermore, the persona database 110 may additionally store one or more personas. A persona preferably describes a group of users with related vectors or vector parameters, but may alternately describe a single user. The persona preferably has a structure similar to the user summary, and is preferably created by abstracting, averaging, or finding similarities between the users of the described group. A persona engine preferably generates the persona database 110 by processing social network data. The persona database 110 may alternatively be created, shared, or maintained by another system such as an advertisement system. In an alternative embodiment a persona of a user is preferably generated in real-time, and a database of a plurality of personas may not be maintained.

The entity detection routine 120 functions to detect an entity of a social network associated with a third party environment. The third party environment is preferably a website or application or device that wants to benefit from persona targeted content. A social network may additionally use the persona targeted content, or alternatively use the persona information of a second social network. The entity detection routine 120 is preferably separate from the third party environment, but may alternately be integrated. The entity detection routine 120 is preferably a javascript routine that can be included within a webpage that runs when a user views the third party environment. The entity detection routine 120 may alternatively be an API for applications or websites, a server routine, or any suitable program routine in communication with the third party environment. The entity detection routine 120 preferably detects social network entities that have an association with the third party environment. In one variation, the entity detection routine 120 preferably extracts the entity of a user using a social network identification system. In another variation, the entity detection routine 120 preferably detects mentions or references to a high-interest keyword within the content of the third party environment, such as a username that multiple entities are following, a real name that multiple entities are interested in, or a meme that multiple entities have been contributing to. In this variation, the entity detection routine 120 may additionally detect the entities that are interested in the keyword. In another variation, an entity or plurality of entities are preferably detected by querying the social network, more preferably the content streams of the network, for references to the website, application, related company, keywords and/or any suitable aspect associated with the third party environment.

The content delivering engine 130 functions to process the detected entity to identify an appropriate persona to use for content selection. The content delivering engine 130 is preferably in communication with the persona database 110 and the entity detection routine 120. The content delivering engine 130 preferably identifies the persona(s) associated with the entities detected with the entity detection routine 120. The content delivering engine 130 may also generate a persona from the user summaries of the identified entities. The content delivering engine 130 may additionally compile content for the third party environment. In a preferred embodiment, the compiled content is preferably advertisements that are preferably selected based on identified persona, wherein the content delivering machine selects the advertisements. The advertisements are preferably selected based on a similarity score calculated between the advertisement and the persona, wherein the advertisement is selected if the score is above a predetermined threshold. Alternatively, content may be compiled by the third party environment or any suitable party.

The system may additionally include social network data 140 that functions as a source of querying or understanding connections and behavior of users of a social network. The social network data 140 is preferably established through communication through a social network API but may alternatively be a repository of data or any suitable form of data. The social network data 140 preferably pertains to all or a significant portion of users of the social network. The data 140 may alternatively be a model of a social network. The social network connection data 120 is preferably obtained directly from the social network. The social network connection data 120 may alternatively be scraped in real-time or obtained from a cached or third party service. The social network connection data 120 is preferably used in combination with the persona database 110 to analyze connections of persona groups.

An alternative embodiment preferably implements the above method in a computer-readable medium storing computer-readable instructions. The instructions are preferably executed by computer-executable components integrated with a social network and an outside environment. The computer-readable medium may be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component is preferably a processor but the instructions may alternatively or additionally be executed by any suitable dedicated hardware device.

As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims. 

We claim:
 1. A method for advertisement distribution comprising: at a server, receiving an advertisement request from a third party environment for an unknown user, the third party environment having a different domain than a social network; identifying a reference to the third party environment within a first content stream of the social network; and serving an advertisement to the third party environment for the unknown user based on a user summary associated with the first content stream.
 2. The method of claim 1, further comprising generating the user summary based on the content stream.
 3. The method of claim 2, wherein the content stream comprises content generated by a user associated with the user summary.
 4. The method of claim 1, further comprising determining a persona based on the user summary associated with the identified content stream, wherein serving the advertisement comprises serving the advertisement based on the persona.
 5. The method of claim 4, wherein determining the person further comprises: identifying a second reference to the third party environment within a second content stream of the social network; and determining the persona based on the first and second user summaries.
 6. The method of claim 4, wherein serving an advertisement comprises serving an advertisement comprising an advertisement summary having a similarity with the persona above a predetermined threshold.
 7. The method of claim 1, further comprising: receiving a second advertisement request from the third party environment for a social network entity; and serving a second advertisement to the third party environment for the social network entity based on a content stream associated with the social network entity.
 8. The method of claim 7, wherein serving a second advertisement to the third party environment for the social network entity based on a content stream associated with the social network entity comprises generating a second user summary based on the content stream associated with the social network entity and serving the advertisement based on the second user summary.
 9. The method of claim 8, wherein serving a second advertisement comprises serving a second advertisement comprising an advertisement summary having a similarity with the second user summary above a predetermined threshold.
 10. A method for targeted advertisement distribution, comprising: at a server: receiving an advertisement request from a third party environment for an accessing entity, the third party environment having a different domain from a social network; in response to the accessing entity being an unknown entity: detecting a reference to the third party environment within a first content stream of the social network, the social network comprising a plurality of content streams, each associated with a user summary; and serving an advertisement to the third party environment based on a first user summary associated with the first content stream.
 11. The method of claim 10, wherein serving an advertisement to the third party environment based on a first user summary associated with the first content stream comprises determining a persona for the unknown entity based on the first user summary.
 12. The method of claim 11, further comprising: detecting a second reference to the third party environment within a second content stream of the social network, the second content stream associated with a second user summary; wherein determining a persona further comprises determining the persona based on the second user summary.
 13. The method of claim 12, wherein determining the persona based on the first and second user summary comprises: abstracting attributes of the first and second user summaries; and generating the persona based on similarities between the first and second user summaries.
 14. The method of claim 13, wherein the advertisement comprises an advertisement summary, wherein serving the advertisement to the third party environment comprises serving an advertisement to the third party environment based on a similarity between the advertisement summary and the persona.
 15. The method of claim 10, wherein detecting a reference to the third party environment within a first content stream of the social network comprises detecting the reference within content generated by a first user associated with the first user summary.
 16. The method of claim 10, further comprising: in response to the accessing entity being a social network entity of the social network: identifying a second user summary associated with the social network entity; and serving a second advertisement to the third party environment based on the second user summary.
 17. The method of claim 16, wherein serving the second advertisement to the third party environment based on the second user summary comprises serving an advertisement to the third party environment having a similarity with the second user summary beyond a predetermined threshold.
 18. The method of claim 10, wherein the reference to the third party environment comprises an explicit reference to the third party environment.
 19. The method of claim 18, wherein the explicit reference comprises a universal resource identifier linking to the third party environment. 